{
 "metadata": {
  "name": "",
  "signature": "sha256:7daf332ddd29d65f3c2409d4e052bf5e0237e8cef07554c60214eb70e58d232a"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "heading",
     "level": 1,
     "metadata": {},
     "source": [
      "Dev for the P190.describe_* methods"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import matplotlib.pyplot as plt\n",
      "import numpy as np\n",
      "from rockfish2.navigation.ukooa.p190.p190 import P190\n",
      "from rockfish2.utils.loaders import get_example_file\n",
      "\n",
      "test_p190_file = get_example_file('MGL1407MCS15.TEST.p190')\n",
      "\n",
      "print test_p190_file"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "/Users/ncm/Dev/Rockfish2/rockfish2/navigation/1.p190/tests/data/MGL1407MCS15.TEST.p190\n"
       ]
      }
     ],
     "prompt_number": 42
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "p190 = P190(input_srid=32619)\n",
      "p190.read_p190(test_p190_file)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stderr",
       "text": [
        "[2015-03-04 15:58] INFO: rockfish: Creating new database: :memory:\n"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stderr",
       "text": [
        "[2015-03-04 15:58] INFO: rockfish: Reading P190 data from: /Users/ncm/Dev/Rockfish2/rockfish2/navigation/1.p190/tests/data/MGL1407MCS15.TEST.p190\n"
       ]
      }
     ],
     "prompt_number": 3
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "sql = \"SELECT line, point, cable_id, chan, DISTANCE(src_pt, rec_pt) AS offset, rec_depth AS depth FROM p190_src_rec_view\"\n",
      "\n",
      "dat = p190.read_sql(sql)\n",
      "\n",
      "dat.describe()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "html": [
        "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
        "<table border=\"1\" class=\"dataframe\">\n",
        "  <thead>\n",
        "    <tr style=\"text-align: right;\">\n",
        "      <th></th>\n",
        "      <th>point</th>\n",
        "      <th>cable_id</th>\n",
        "      <th>chan</th>\n",
        "      <th>offset</th>\n",
        "    </tr>\n",
        "  </thead>\n",
        "  <tbody>\n",
        "    <tr>\n",
        "      <th>count</th>\n",
        "      <td> 24336.000000</td>\n",
        "      <td> 24336</td>\n",
        "      <td> 24336.00000</td>\n",
        "      <td> 24336.000000</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>mean</th>\n",
        "      <td> 91035.500000</td>\n",
        "      <td>     1</td>\n",
        "      <td>   234.50000</td>\n",
        "      <td>  4757.992250</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>std</th>\n",
        "      <td>    15.008639</td>\n",
        "      <td>     0</td>\n",
        "      <td>   135.10243</td>\n",
        "      <td>  1888.270803</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>min</th>\n",
        "      <td> 91010.000000</td>\n",
        "      <td>     1</td>\n",
        "      <td>     1.00000</td>\n",
        "      <td>   157.689600</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>25%</th>\n",
        "      <td> 91022.750000</td>\n",
        "      <td>     1</td>\n",
        "      <td>   117.75000</td>\n",
        "      <td>  3351.798862</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>50%</th>\n",
        "      <td> 91035.500000</td>\n",
        "      <td>     1</td>\n",
        "      <td>   234.50000</td>\n",
        "      <td>  4814.750021</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>75%</th>\n",
        "      <td> 91048.250000</td>\n",
        "      <td>     1</td>\n",
        "      <td>   351.25000</td>\n",
        "      <td>  6256.409155</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>max</th>\n",
        "      <td> 91061.000000</td>\n",
        "      <td>     1</td>\n",
        "      <td>   468.00000</td>\n",
        "      <td>  8005.403104</td>\n",
        "    </tr>\n",
        "  </tbody>\n",
        "</table>\n",
        "</div>"
       ],
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 4,
       "text": [
        "              point  cable_id         chan        offset\n",
        "count  24336.000000     24336  24336.00000  24336.000000\n",
        "mean   91035.500000         1    234.50000   4757.992250\n",
        "std       15.008639         0    135.10243   1888.270803\n",
        "min    91010.000000         1      1.00000    157.689600\n",
        "25%    91022.750000         1    117.75000   3351.798862\n",
        "50%    91035.500000         1    234.50000   4814.750021\n",
        "75%    91048.250000         1    351.25000   6256.409155\n",
        "max    91061.000000         1    468.00000   8005.403104"
       ]
      }
     ],
     "prompt_number": 4
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "dat = p190.read_sql('select * from p190_src_rec_view')\n",
      "\n",
      "stat = dat.describe()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 5
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "stat.ix['count']"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 14,
       "text": [
        "rec_pt_rowid    24336\n",
        "point           24336\n",
        "cable_id        24336\n",
        "chan            24336\n",
        "Name: count, dtype: float64"
       ]
      }
     ],
     "prompt_number": 14
    },
    {
     "cell_type": "heading",
     "level": 2,
     "metadata": {},
     "source": [
      "Plot shots and midpoints"
     ]
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "fig = plt.figure(figsize=(10, 10))\n",
      "ax = fig.add_subplot(111)\n",
      "\n",
      "\n",
      "nrp = p190.read_sql(\"SELECT X(geom) AS x, Y(geom) AS y FROM p190_coords WHERE record_id='V'\")\n",
      "cos = p190.read_sql(\"SELECT X(geom) AS x, Y(geom) AS y FROM p190_coords WHERE record_id='S'\")\n",
      "tb = p190.read_sql(\"SELECT X(geom) AS x, Y(geom) AS y FROM p190_coords WHERE record_id='T'\")\n",
      "mp = p190.read_sql(\"SELECT X(mid_pt) AS x, Y(mid_pt) AS y FROM p190_src_rec_view\")\n",
      "\n",
      "\n",
      "\n",
      "ax.plot(mp.x, mp.y, '.b')\n",
      "ax.plot(nrp.x, nrp.y, '.k')\n",
      "ax.plot(cos.x, cos.y, '.r')\n",
      "ax.plot(tb.x, tb.y, '.g')\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 13,
       "text": [
        "[<matplotlib.lines.Line2D at 0x1154b8ed0>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nQXnBWTvwdHT8KrADuAT4APBgdP5BYFl0fAvwECGo2wvsAeYDFwNjgSej675V8hlJklSimEW7cuKV\nbHlxixm0OtLfMWfTgGuArcBFwIHo/IHoNcAUYF/JZ/YRgrnu5/dH5yVJUjdumF6/+rNDwBjgn4BP\nA0e7vXcyelTEypUrTx3n83ny+XylvlqSpFRZfevqM2ZyNj/S7EzOmLS2ttLa2lrVe5Q79XM48AOg\nBfhydG4nkCeUPS8mTBr4DbrGnn0hel4H3AO0RddcFZ2/A7ge+INu93IpDUmSumn6hyZa9rQwd8pc\nZl0wyx0FEiKupTSGAP8LeJauwAzg+8DHouOPAd8rOX87MAKYThj4/yQhiDtCGH82BPhoyWckSdJZ\nOJOzfpRT1nwP8J+A7cDPo3MrCJmxNYTZl3uB26L3no3OPwscB+6kq+R5J/AAMApYS8iqSZKkPrhh\nev1whwBJklLGDdOTw43PJUnSKW6YHj+3b5IkSae4UG02mTmTJCml3DA9fmbOJEnSKW6Ynk0GZ5Ik\npZzLbGSLwZkkSSnnhunZ4pgzSZIyxHFoteWYM0mSdFZumJ5+Zs4kScogM2i1YeZMkiSVxZmc6WVw\nJklShjmTM33K2fhckiSllBump49jziRJqhNumF55bnwuSZIGzQ3TK8cJAZIkadBcqDbZzJxJklRn\nXGajcsycSZKkQXOZjWQzOJMkqU65zEYyGZxJklSn3DA9mRxzJkmSHIc2QI45kyRJVeGG6clh5kyS\nJJ1iBq1/zJxJkqSqciZn/AzOJEnSGZzJGR+DM0mSdAZncsbHMWeSJOmsHIfWO8ecSZKkmnMmZ22Z\nOZMkSWUxg3YmM2eSJCk2Pc3kXHXzqphblT1mziRJUr8UM2irbl7FZ9Z/hl2HdjF6+GhW37qa3Lm5\nuJtXU9XInBmcSZKkAcs/kGdj20agPkucljUlSVKiuMxG5Zk5kyRJA1bvkwTMnEmSpERxmY3KM3Mm\nSZIGrV4zaGbOJElSIrlheuUYnEmSpIpxw/TBMziTJEkV44bpg+eYM0mSVBX1MA7NMWeSJCk1nMk5\nMGbOJElSVWU5g2bmTJIkpY4zOfvH4EySJNWEMznLY3AmSZJqwpmc5XHMmSRJqrmsjENzzJkkScqE\nnsahrbp5VcytSgYzZ5IkKTbFDNqqm1fxmfWfYdehXYwePprVt64md24u7ub1qRqZM4MzSZKUCPkH\n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\nYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x115138cd0>"
       ]
      }
     ],
     "prompt_number": 13
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "sql = \"SELECT X(rec_pt) - X(src_pt) AS x, Y(rec_pt) - Y(src_pt) AS y FROM p190_src_rec_view\"\n",
      "\n",
      "rel = p190.read_sql(sql)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 14
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "fig = plt.figure(figsize=(10, 10))\n",
      "ax = fig.add_subplot(111)\n",
      "\n",
      "ax.plot(0, 0, '*r', markersize=20)\n",
      "ax.plot(rel.x, rel.y, '.-k')\n",
      "\n",
      "plt.xlim(-8500, 8500)\n",
      "plt.ylim(-8500, 8500)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 24,
       "text": [
        "(-8500, 8500)"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "iVBORw0KGgoAAAANSUhEUgAAAmAAAAJKCAYAAACLXPmAAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X2QZWV9J/BvQzMoZmLPQPMOt1EYokI3yCyTkh7pqTgG\nxkKopETUGKu04paGZNGKa3STyuxuRRM1YkzUqigloItRitKogZFhrYEehCgp7AaUlx7oBgYYqIEm\nyEaYl94/7u2hmeme1+7n3Nv386nqmtPn3nvO749bZ779PM/5nQQAAAAAAAAAAAAAAAAAAAAA0lF1\nAfvi3HPPnbj55purLgMAYG/cnGRguhdaKoAlmZiYmKi6BmbB6tWrs3r16qrLgCS+jzQX38f5o6Oj\nI5khax1UthQAAAQwAIDCBDAqMTAwUHUJsIPvI83E97E9WAMGADAHrAEDAGgiAhgAQGECGABAYQIY\nAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABA\nYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGEC\nGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgA\nQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBh\nAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIY\nAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABA\nYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGEC\nGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgA\nQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGECGABAYQIYAEBhAhgAQGGzEcBGkwwnuTPJ\nTxv7FidZm+T+JDcm6Zry/k8keSDJvUneOmX/WUnuarz297NQFwBAU5qNADaRZCDJmUnObuz789QD\n2JIk/7fxe5K8Psk7G/+el+TLSToar30lyQeSnNL4OW8WagMAaDqzNQXZsdPvb09yVWP7qiQXNbYv\nTPKtJFtSHzkbSbIsyTFJFualEbSrp3wGAGBema0RsJuS3JHkjxr7jkqyqbG9qfF7khyb5NEpn300\nyXHT7N/Y2A8AMO90zsIxzknyeJLu1Kcd793p9YnGDwAAmZ0A9njj36eSfDf1dWCbkhyd5InUpxef\nbLxnY5ITpnz2+NRHvjY2tqfu3zjdyVavXr1je2BgIAMDAwdYPgDAgVu3bl3WrVu3V+/dee3Wvjos\nycFJnkvyqtTvePyfSd6SZHOSv019AX5X49/XJ7km9ZB2XOpTlyenPkL2b0n+NPV1YP+a5ItJ1ux0\nvomJCYNpAEDz6+joSGbIWgc6AnZU6qNek8f6P6mHsDuSfCf1uxpHk1zceM8vGvt/kWRrkg/npenJ\nDye5Mskrk1yfXcMXAMC8cKAjYKUZAQMAWsLuRsB0wgcAKEwAAwAoTAADAChMAAMAKEwAAwAoTAAD\nAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAo\nTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwA\nAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMA\nKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChM\nAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAAD\nAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAo\nTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwA\nAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMA\nKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChM\nAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAAD\nAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAo\nTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwA\nAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAMAKEwAAwAoTAADAChMAAPa3lVf+lLVJQBtpqPqAvbR\nxMTERNU1APPIM888kzf29OTOsbF0dXVVXQ4wj3R0dCQzZC0jYEBbW3vddfmrX/0qa6+7rupSgDYi\ngAFtbegHP8gfbt+en3//+1WXArQRAQxoW9u3b082bKhfCDdsiCUOQCnNFsDOS3JvkgeSfLziWoB5\nbujOO3PG2FiSpO/hhzN0550VVwS0i2YKYAcn+cfUQ9jrk7wryesqrQiY19Z+/etZ+atfJUlWPvdc\n1n796xVXBLSLzqoLmOLsJCNJRhu//3OSC5P8sqqCgNZ2xRe+kFuuvjon/eZvTvt6x8aNmbzvcVGS\n/7dmTVYPDEz73of+4z/y5j/8w3zgssvmpFagvTRTADsuySNTfn80ybKKagHmgfddemme27gxueaa\nXPrYY3u84P3VyEgyMvKyfVuT/MOxx+bMd78777v00jmrFWgvzTQFafUrMKs6Oztz2Wc/m7def30+\ncvbZ+UXnvv3NeU9nZz5y9tn53euvz2Wf/Ww69/HzADNppqvJxiQnTPn9hNRHwV5m9erVO7YHBgYy\nMMN0AcCk1/f15fJbb80/fuITuXEvRsMmR7063v3uXP7pTwtewF5Zt25d1q1bt1fvbaZO+J1J7kvy\nO0keS/LT1BfiT10DphM+cEB+MTSUq3//9/M3GzbM+J6Pv/a1ed911+X1fX0FKwPmm911wm+mP+u2\nJrk0yY9SvyPyiliAD8yyY048MYtffHG37zn8xRdzbK1WqCKgHTXTCNjeMAIGHJDvfO1rWfLBD+aM\naa4l010QXXOA/eVZkAANQz/4QfqmhKp7Ojtz2Smn5MgZ3t/R0ZHh4eEyxQFtQwAD2sbko4c6Ul/z\ncPmxx2btZZflb++6K08fNPPl8I1vfGOxGoH2IIABbWPy0UM7t5c49NBDs2jx4hk/t23btnR0dOz4\nOf300wtWDcxHAhjQNtZccUXuftWrsvayy3L5rbe+7C7HO+64Y6+Pc/fdd+eII46YixKBNiGAAW1j\n8XHH5Z0/+tG0TVVrtVpGR0dz9NFHZ+HChXs81ubNm3eMiH30ox+dq5KBecpdkADT2LJlSy699NL8\n0z/9016937UJ2Nnu7oIUwABmMDExkYULF+b555/fq/dv2bJF13xgB20oAPZDR0dH7rnnnr0OVYcc\ncsiOacnPfe5zc1wd0MqMgAHswfj4eF772tfm6aef3qfPuV5BezMCBnAAurq6smHDhrztbW/LYYcd\nttefm9q6or+/fw4rBFqNETCAffDwww9n2bJleeKJJ/b5s65f0F6MgAHMkhNPPDGPPPJI/viP/3if\nPzt1RMwaMWhvRsAA9sPExES++MUv5rLLLjugYwDzlzYUAHPkW9/6Vt773vdm27Zt+/V5rStg/jIF\nCTBH3vWud+VnP/tZjjvuuP36/NTWFddee+0sVwc0KyNgALNg48aNueCCC3LnnXce0HFc42D+MAIG\nMMeOO+643HLLLTnvvPMO6DhTF+p7xiTMX0bAAGbRtm3b8md/9mf5whe+MCvHc82D1mUEDKCQgw8+\nOJdffnm+9KUvzcrxOjo6cvDBB2fBggUZHh6elWMC1TMCBjBHrr322lxyySXZvn37rB3TNRBahxEw\ngAq84x3vyJ133pkTTjhh1o554YUXztqxgOoYAQOYY48//nje/va354477pjV43Z2dmZkZCS1Wm1W\njwvMDiNgABU65phjcvPNN+dtb3vbrB5369atedOb3jSrxwTKEMAACjjssMPy/e9/Px/72Mdm9biP\nPfbYjrYVS5cuzfj4+KweH5gbpiABCvvqV7+aD37wg3Ny7N/+7d/ObbfdNifHBvaNZ0ECNJmbbrop\nF1xwQX7961/P+rE3bdqUI488ctaPC+wba8AAmsxb3vKW/Pu//3tOPPHEWT/2UUcdpZs+NDkjYAAV\n2rRpUy666KLcfvvtc3YO102ohhEwgCZ11FFH5cc//nEuvvjiOTvH5GjYQQcdlPXr18/ZeYC9ZwQM\noAls3749f/mXf5lPfepTc34u11EowwgYQJM76KCD8td//df5+te/Pufnuuqqq+b8HMDuGQEDaDLr\n1q3L+eefPyd3SO7sIx/5SD7/+c/P+XmgHWlDAdBi7rvvvpx33nkZHR2d83O5rsLcMAUJ0GJOPfXU\n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\nkv+aZFPjtU8meX/q67n+W5IfNfafleTKJK9Mcn3qYSypt6H4Rup3U25OPXyNTnNOAQwA9tH4+HiO\nPPLIbNmyZdaOOTQ0ZPRrDzyKCADa3NjYWE455ZRZCWHf+c538o53vGMWqprfBDAAIOPj4+nu7s7W\nrVv3+xinnXZa7rrrrlmsav4SwACAJPWRsFNPPTUvvPDCfn3euq+952HcAECS+t2RTzzxxH49Q1LL\nidljBAwA2tTw8HD6+vr26r3Lli3L7bffPscVzS+mIAGAaY2NjaWnp2eP7zP1uO9MQQIA06rVahkd\nHZ0MC9My9Tj7BDAAaHO1Wi0PPfRQFixYsMtrg4OD+n3NAVOQAECSepuK97znPbnjjjty0EEH5fbb\nb0+tVqu6rJZlDRgAQGHWgAEANBEBDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAEM\nAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACg\nMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDAB\nDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwA\noDABDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAEMAKAw\nAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAEM\nAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACg\nMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDAB\nDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAEMAKAwAQwAoDABDACgMAGMSqxbt67q\nEmAH30eaie9jexDAqIQLDM3E95Fm4vvYHgQwAIDCBDAAgMI6qi5gH61Lcm7VRQAA7IWbkwxUXQQA\nAAAAAAAA7IfVSR5Ncmfj5/wpr30iyQNJ7k3y1in7z0pyV+O1v5+y/9Ak327svz1Jba6Kpm2dl/r3\n8YEkH6+4Fuav0STDqV8Tf9rYtzjJ2iT3J7kxSdeU9+/rtRIgf5Xko9Psf32Snyc5JElPkpG8dCPI\nT5Oc3dhm7Qx0AAACKklEQVS+PvX/FJPkw0m+3Nh+Z5J/nv1yaWMHp/497En9e/nzJK+rsiDmrYdS\nD1xTfSbJf29sfzzJ3zS29+daSYvRhoK5Mt0dthcm+VaSLan/NTiSZFmSY5IszEt/FV6d5KLG9tuT\nXNXYvi7J78xNubSps1P/Ho6m/r3859S/pzAXdr4uTr2+XZWXrnv7c62kxQhgzJU/STKU5Iq8NKx+\nbOpTk5MeTXLcNPs3Nvan8e8jje2tSZ7Nrn9Fwv6a+v1KXvpOwmybSHJTkjuS/FFj31FJNjW2NzV+\nT/bvWkmL6ay6AFrW2iRHT7P/fyT5SpL/1fj9fyf5uyQfKFQX7IuJqgugbZyT5PEk3alfP+/d6fWJ\n+D62FQGM/bVyL9/3tSQ/aGxvTHLClNeOT/2vuY2N7Z33T37mxCSPpf59fXWSp/evZNjFzt/JE/Ly\nEQaYLY83/n0qyXdTn/7elPofsk+kPr34ZOM9+3Kt3Dh3JQOt5pgp2x9Jck1je3Jh6YIkJyXZkJfW\nRPxb6mscOrLrIvyvNLYviUX4zK7O1L+HPal/Ly3CZy4clvrarSR5VZJbU7+z8TN56c7bP8+ui/D3\n5VoJkKtTv916KMn38tK6hiT5ZOoLSu9N8rtT9k/eWj2S5ItT9h+a5Dt5qQ1Fz1wVTds6P8l9qX/3\nPlFxLcxPJ6UeqH6e5O689D1bnPq6sOnaUOzrtRIAAAAAAAAAAAAAAAAAAAAAAAAAAACay/8H2YOB\nIGiMAskAAAAASUVORK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x1177a8dd0>"
       ]
      }
     ],
     "prompt_number": 24
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "sql = \"SELECT chan, DISTANCE(src_pt, rec_pt) AS offset FROM p190_src_rec_view\"\n",
      "dat = p190.read_sql(sql)\n",
      "\n",
      "#sql = \"SELECT chan, AVG(DISTANCE(src_pt, rec_pt)) AS offset FROM p190_src_rec_view GROUP BY chan\"\n",
      "#dat_mean = p190.read_sql(sql)\n",
      "\n",
      "dat.groupby('chan').describe()\n"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "html": [
        "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
        "<table border=\"1\" class=\"dataframe\">\n",
        "  <thead>\n",
        "    <tr style=\"text-align: right;\">\n",
        "      <th></th>\n",
        "      <th></th>\n",
        "      <th>offset</th>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>chan</th>\n",
        "      <th></th>\n",
        "      <th></th>\n",
        "    </tr>\n",
        "  </thead>\n",
        "  <tbody>\n",
        "    <tr>\n",
        "      <th rowspan=\"8\" valign=\"top\">1  </th>\n",
        "      <th>count</th>\n",
        "      <td>   52.000000</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>mean</th>\n",
        "      <td> 6040.876859</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>std</th>\n",
        "      <td>    6.882069</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>min</th>\n",
        "      <td> 6032.381899</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>25%</th>\n",
        "      <td> 6034.802359</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>50%</th>\n",
        "      <td> 6039.991848</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>75%</th>\n",
        "      <td> 6043.824921</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>max</th>\n",
        "      <td> 6057.237282</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th rowspan=\"8\" valign=\"top\">2  </th>\n",
        "      <th>count</th>\n",
        "      <td>   52.000000</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>mean</th>\n",
        "      <td> 6013.512422</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>std</th>\n",
        "      <td>    6.824413</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>min</th>\n",
        "      <td> 6005.045465</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>25%</th>\n",
        "      <td> 6007.553535</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>50%</th>\n",
        "      <td> 6012.597167</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>75%</th>\n",
        "      <td> 6016.395481</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>max</th>\n",
        "      <td> 6029.749170</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th rowspan=\"8\" valign=\"top\">3  </th>\n",
        "      <th>count</th>\n",
        "      <td>   52.000000</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>mean</th>\n",
        "      <td> 5986.159700</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>std</th>\n",
        "      <td>    6.761193</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>min</th>\n",
        "      <td> 5977.791392</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>25%</th>\n",
        "      <td> 5980.290576</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>50%</th>\n",
        "      <td> 5985.264994</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>75%</th>\n",
        "      <td> 5988.947046</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>max</th>\n",
        "      <td> 6002.336147</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th rowspan=\"6\" valign=\"top\">4  </th>\n",
        "      <th>count</th>\n",
        "      <td>   52.000000</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>mean</th>\n",
        "      <td> 5958.797529</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>std</th>\n",
        "      <td>    6.707155</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>min</th>\n",
        "      <td> 5950.597248</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>25%</th>\n",
        "      <td> 5952.992907</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>50%</th>\n",
        "      <td> 5957.902687</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>...</th>\n",
        "      <th>...</th>\n",
        "      <td>...</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th rowspan=\"6\" valign=\"top\">465</th>\n",
        "      <th>std</th>\n",
        "      <td>    0.189651</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>min</th>\n",
        "      <td>  192.076287</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>25%</th>\n",
        "      <td>  192.283125</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>50%</th>\n",
        "      <td>  192.363900</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>75%</th>\n",
        "      <td>  192.406120</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>max</th>\n",
        "      <td>  193.453069</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th rowspan=\"8\" valign=\"top\">466</th>\n",
        "      <th>count</th>\n",
        "      <td>   52.000000</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>mean</th>\n",
        "      <td>  180.905751</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>std</th>\n",
        "      <td>    0.364073</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>min</th>\n",
        "      <td>  180.540577</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>25%</th>\n",
        "      <td>  180.734425</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>50%</th>\n",
        "      <td>  180.874694</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>75%</th>\n",
        "      <td>  181.022043</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>max</th>\n",
        "      <td>  183.178738</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th rowspan=\"8\" valign=\"top\">467</th>\n",
        "      <th>count</th>\n",
        "      <td>   52.000000</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>mean</th>\n",
        "      <td>  169.608721</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>std</th>\n",
        "      <td>    0.556728</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>min</th>\n",
        "      <td>  169.039433</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>25%</th>\n",
        "      <td>  169.410329</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>50%</th>\n",
        "      <td>  169.576030</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>75%</th>\n",
        "      <td>  169.733681</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>max</th>\n",
        "      <td>  173.161312</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th rowspan=\"8\" valign=\"top\">468</th>\n",
        "      <th>count</th>\n",
        "      <td>   52.000000</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>mean</th>\n",
        "      <td>  158.502629</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>std</th>\n",
        "      <td>    0.783752</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>min</th>\n",
        "      <td>  157.689600</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>25%</th>\n",
        "      <td>  158.206637</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>50%</th>\n",
        "      <td>  158.420752</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>75%</th>\n",
        "      <td>  158.696463</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>max</th>\n",
        "      <td>  163.526756</td>\n",
        "    </tr>\n",
        "  </tbody>\n",
        "</table>\n",
        "<p>3744 rows \u00d7 1 columns</p>\n",
        "</div>"
       ],
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 38,
       "text": [
        "                 offset\n",
        "chan                   \n",
        "1    count    52.000000\n",
        "     mean   6040.876859\n",
        "     std       6.882069\n",
        "     min    6032.381899\n",
        "     25%    6034.802359\n",
        "     50%    6039.991848\n",
        "     75%    6043.824921\n",
        "     max    6057.237282\n",
        "2    count    52.000000\n",
        "     mean   6013.512422\n",
        "     std       6.824413\n",
        "     min    6005.045465\n",
        "     25%    6007.553535\n",
        "     50%    6012.597167\n",
        "     75%    6016.395481\n",
        "     max    6029.749170\n",
        "3    count    52.000000\n",
        "     mean   5986.159700\n",
        "     std       6.761193\n",
        "     min    5977.791392\n",
        "     25%    5980.290576\n",
        "     50%    5985.264994\n",
        "     75%    5988.947046\n",
        "     max    6002.336147\n",
        "4    count    52.000000\n",
        "     mean   5958.797529\n",
        "     std       6.707155\n",
        "     min    5950.597248\n",
        "     25%    5952.992907\n",
        "     50%    5957.902687\n",
        "...                 ...\n",
        "465  std       0.189651\n",
        "     min     192.076287\n",
        "     25%     192.283125\n",
        "     50%     192.363900\n",
        "     75%     192.406120\n",
        "     max     193.453069\n",
        "466  count    52.000000\n",
        "     mean    180.905751\n",
        "     std       0.364073\n",
        "     min     180.540577\n",
        "     25%     180.734425\n",
        "     50%     180.874694\n",
        "     75%     181.022043\n",
        "     max     183.178738\n",
        "467  count    52.000000\n",
        "     mean    169.608721\n",
        "     std       0.556728\n",
        "     min     169.039433\n",
        "     25%     169.410329\n",
        "     50%     169.576030\n",
        "     75%     169.733681\n",
        "     max     173.161312\n",
        "468  count    52.000000\n",
        "     mean    158.502629\n",
        "     std       0.783752\n",
        "     min     157.689600\n",
        "     25%     158.206637\n",
        "     50%     158.420752\n",
        "     75%     158.696463\n",
        "     max     163.526756\n",
        "\n",
        "[3744 rows x 1 columns]"
       ]
      }
     ],
     "prompt_number": 38
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "plot(dat.chan, dat.offset, '.k')\n",
      "plot(dat_mean.chan, dat_mean.offset, '.r')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 35,
       "text": [
        "[<matplotlib.lines.Line2D at 0x1139bd090>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nQOlz3pOCAAAAAElFTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0x1160bf210>"
       ]
      }
     ],
     "prompt_number": 35
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "dat_mean"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "html": [
        "<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
        "<table border=\"1\" class=\"dataframe\">\n",
        "  <thead>\n",
        "    <tr style=\"text-align: right;\">\n",
        "      <th></th>\n",
        "      <th>chan</th>\n",
        "      <th>offset</th>\n",
        "    </tr>\n",
        "  </thead>\n",
        "  <tbody>\n",
        "    <tr>\n",
        "      <th>0  </th>\n",
        "      <td>   1</td>\n",
        "      <td> 6040.876859</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>1  </th>\n",
        "      <td>   2</td>\n",
        "      <td> 6013.512422</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>2  </th>\n",
        "      <td>   3</td>\n",
        "      <td> 5986.159700</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>3  </th>\n",
        "      <td>   4</td>\n",
        "      <td> 5958.797529</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>4  </th>\n",
        "      <td>   5</td>\n",
        "      <td> 5931.454768</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>5  </th>\n",
        "      <td>   6</td>\n",
        "      <td> 5904.092599</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>6  </th>\n",
        "      <td>   7</td>\n",
        "      <td> 7983.601693</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>7  </th>\n",
        "      <td>   8</td>\n",
        "      <td> 7971.134024</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>8  </th>\n",
        "      <td>   9</td>\n",
        "      <td> 7958.660867</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>9  </th>\n",
        "      <td>  10</td>\n",
        "      <td> 7946.194471</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>10 </th>\n",
        "      <td>  11</td>\n",
        "      <td> 7933.725286</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>11 </th>\n",
        "      <td>  12</td>\n",
        "      <td> 7921.254908</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>12 </th>\n",
        "      <td>  13</td>\n",
        "      <td> 7908.778598</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>13 </th>\n",
        "      <td>  14</td>\n",
        "      <td> 7896.314117</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>14 </th>\n",
        "      <td>  15</td>\n",
        "      <td> 7883.843250</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>15 </th>\n",
        "      <td>  16</td>\n",
        "      <td> 7871.372583</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>16 </th>\n",
        "      <td>  17</td>\n",
        "      <td> 5891.638638</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>17 </th>\n",
        "      <td>  18</td>\n",
        "      <td> 5754.842013</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>18 </th>\n",
        "      <td>  19</td>\n",
        "      <td> 7833.960576</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>19 </th>\n",
        "      <td>  20</td>\n",
        "      <td> 7821.486157</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>20 </th>\n",
        "      <td>  21</td>\n",
        "      <td> 7809.019302</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>21 </th>\n",
        "      <td>  22</td>\n",
        "      <td> 7796.548282</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>22 </th>\n",
        "      <td>  23</td>\n",
        "      <td> 7784.083291</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>23 </th>\n",
        "      <td>  24</td>\n",
        "      <td> 7771.605902</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>24 </th>\n",
        "      <td>  25</td>\n",
        "      <td> 7759.142101</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>25 </th>\n",
        "      <td>  26</td>\n",
        "      <td> 7746.672109</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>26 </th>\n",
        "      <td>  27</td>\n",
        "      <td> 7734.200524</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>27 </th>\n",
        "      <td>  28</td>\n",
        "      <td> 7721.745061</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>28 </th>\n",
        "      <td>  29</td>\n",
        "      <td> 5742.392169</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>29 </th>\n",
        "      <td>  30</td>\n",
        "      <td> 5605.596061</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>...</th>\n",
        "      <td>...</td>\n",
        "      <td>...</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>438</th>\n",
        "      <td> 439</td>\n",
        "      <td> 2602.546626</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>439</th>\n",
        "      <td> 440</td>\n",
        "      <td> 2590.088939</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>440</th>\n",
        "      <td> 441</td>\n",
        "      <td> 2577.618573</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>441</th>\n",
        "      <td> 442</td>\n",
        "      <td> 2565.151233</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>442</th>\n",
        "      <td> 443</td>\n",
        "      <td> 2552.680576</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>443</th>\n",
        "      <td> 444</td>\n",
        "      <td> 2540.220220</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>444</th>\n",
        "      <td> 445</td>\n",
        "      <td> 2527.749164</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>445</th>\n",
        "      <td> 446</td>\n",
        "      <td> 2515.274835</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>446</th>\n",
        "      <td> 447</td>\n",
        "      <td>  507.690330</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>447</th>\n",
        "      <td> 448</td>\n",
        "      <td>  462.260642</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>448</th>\n",
        "      <td> 449</td>\n",
        "      <td>  416.950123</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>449</th>\n",
        "      <td> 450</td>\n",
        "      <td>  371.807500</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>450</th>\n",
        "      <td> 451</td>\n",
        "      <td> 2452.921085</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>451</th>\n",
        "      <td> 452</td>\n",
        "      <td> 2440.461150</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>452</th>\n",
        "      <td> 453</td>\n",
        "      <td> 2427.989946</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>453</th>\n",
        "      <td> 454</td>\n",
        "      <td> 2415.524027</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>454</th>\n",
        "      <td> 455</td>\n",
        "      <td> 2403.039944</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>455</th>\n",
        "      <td> 456</td>\n",
        "      <td> 2390.557654</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>456</th>\n",
        "      <td> 457</td>\n",
        "      <td> 2378.090670</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>457</th>\n",
        "      <td> 458</td>\n",
        "      <td> 2365.614078</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>458</th>\n",
        "      <td> 459</td>\n",
        "      <td> 2353.143972</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>459</th>\n",
        "      <td> 460</td>\n",
        "      <td> 2340.669284</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>460</th>\n",
        "      <td> 461</td>\n",
        "      <td>  359.548077</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>461</th>\n",
        "      <td> 462</td>\n",
        "      <td>  226.509456</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>462</th>\n",
        "      <td> 463</td>\n",
        "      <td>  215.675295</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>463</th>\n",
        "      <td> 464</td>\n",
        "      <td>  203.957367</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>464</th>\n",
        "      <td> 465</td>\n",
        "      <td>  192.349498</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>465</th>\n",
        "      <td> 466</td>\n",
        "      <td>  180.905751</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>466</th>\n",
        "      <td> 467</td>\n",
        "      <td>  169.608721</td>\n",
        "    </tr>\n",
        "    <tr>\n",
        "      <th>467</th>\n",
        "      <td> 468</td>\n",
        "      <td>  158.502629</td>\n",
        "    </tr>\n",
        "  </tbody>\n",
        "</table>\n",
        "<p>468 rows \u00d7 2 columns</p>\n",
        "</div>"
       ],
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 36,
       "text": [
        "     chan       offset\n",
        "0       1  6040.876859\n",
        "1       2  6013.512422\n",
        "2       3  5986.159700\n",
        "3       4  5958.797529\n",
        "4       5  5931.454768\n",
        "5       6  5904.092599\n",
        "6       7  7983.601693\n",
        "7       8  7971.134024\n",
        "8       9  7958.660867\n",
        "9      10  7946.194471\n",
        "10     11  7933.725286\n",
        "11     12  7921.254908\n",
        "12     13  7908.778598\n",
        "13     14  7896.314117\n",
        "14     15  7883.843250\n",
        "15     16  7871.372583\n",
        "16     17  5891.638638\n",
        "17     18  5754.842013\n",
        "18     19  7833.960576\n",
        "19     20  7821.486157\n",
        "20     21  7809.019302\n",
        "21     22  7796.548282\n",
        "22     23  7784.083291\n",
        "23     24  7771.605902\n",
        "24     25  7759.142101\n",
        "25     26  7746.672109\n",
        "26     27  7734.200524\n",
        "27     28  7721.745061\n",
        "28     29  5742.392169\n",
        "29     30  5605.596061\n",
        "..    ...          ...\n",
        "438   439  2602.546626\n",
        "439   440  2590.088939\n",
        "440   441  2577.618573\n",
        "441   442  2565.151233\n",
        "442   443  2552.680576\n",
        "443   444  2540.220220\n",
        "444   445  2527.749164\n",
        "445   446  2515.274835\n",
        "446   447   507.690330\n",
        "447   448   462.260642\n",
        "448   449   416.950123\n",
        "449   450   371.807500\n",
        "450   451  2452.921085\n",
        "451   452  2440.461150\n",
        "452   453  2427.989946\n",
        "453   454  2415.524027\n",
        "454   455  2403.039944\n",
        "455   456  2390.557654\n",
        "456   457  2378.090670\n",
        "457   458  2365.614078\n",
        "458   459  2353.143972\n",
        "459   460  2340.669284\n",
        "460   461   359.548077\n",
        "461   462   226.509456\n",
        "462   463   215.675295\n",
        "463   464   203.957367\n",
        "464   465   192.349498\n",
        "465   466   180.905751\n",
        "466   467   169.608721\n",
        "467   468   158.502629\n",
        "\n",
        "[468 rows x 2 columns]"
       ]
      }
     ],
     "prompt_number": 36
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "sql = \"SELECT chan, DISTANCE(src_pt, rec_pt) AS offset FROM p190_src_rec_view\"\n",
      "dat = p190.read_sql(sql)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 39
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "dat.boxplot(by='chan')"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 41,
       "text": [
        "<matplotlib.axes.AxesSubplot at 0x1150708d0>"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nRK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0x11505c3d0>"
       ]
      }
     ],
     "prompt_number": 41
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "sql = \"SELECT chan, DISTANCE(src_pt, rec_pt) AS offset FROM p190_src_rec_view ORDER BY chan\"\n",
      "dat = p190.read_sql(sql)\n",
      "\n",
      "dx = np.diff(dat.offset)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 45
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "np.median(dx)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 48,
       "text": [
        "-0.23325556503641565"
       ]
      }
     ],
     "prompt_number": 48
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [],
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}